home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.3 Development Libraries / SGI IRIX 6.3 Development Libraries.iso / dist / dist6.3 / motif_dev.idb / usr / include / Sgm / List.h.z / List.h
C/C++ Source or Header  |  1996-12-06  |  7KB  |  201 lines

  1. /*******************************************************************************
  2. ///////   Copyright 1992, Silicon Graphics, Inc.  All Rights Reserved.   ///////
  3. //                                                                            //
  4. // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;     //
  5. // the contents of this file may not be disclosed to third parties, copied    //
  6. // or duplicated in any form, in whole or in part, without the prior written  //
  7. // permission of Silicon Graphics, Inc.                                       //
  8. //                                                                            //
  9. // RESTRICTED RIGHTS LEGEND:                                                  //
  10. // Use,duplication or disclosure by the Government is subject to restrictions //
  11. // as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data     //
  12. // and Computer Software clause at DFARS 252.227-7013, and/or in similar or   //
  13. // successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -    //
  14. // rights reserved under the Copyright Laws of the United States.             //
  15. //                                                                            //
  16. *******************************************************************************/
  17. /* 
  18.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC. 
  19.  * ALL RIGHTS RESERVED 
  20. */ 
  21. /* 
  22.  * Motif Release 1.2
  23. */ 
  24. /*   $RCSfile: List.h,v $ $Revision: 1.2 $ $Date: 1993/10/11 19:57:48 $ */
  25. /*
  26. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  27. #ifndef _SgList_h
  28. #define _SgList_h
  29.  
  30. #include <Xm/Xm.h>
  31.  
  32. #ifdef __cplusplus
  33. extern "C" {
  34. #endif
  35.  
  36. externalref WidgetClass sgListWidgetClass;
  37.  
  38. #ifndef SgIsList
  39. #define SgIsList(w)    XtIsSubclass(w, sgListWidgetClass)
  40. #endif /* SgIsList */
  41.  
  42. typedef struct _SgListClassRec * SgListWidgetClass;
  43. typedef struct _SgListRec      * SgListWidget;
  44.  
  45. #define XmINITIAL     0
  46. #define XmADDITION    1
  47. #define XmMODIFICATION    2
  48.  
  49. typedef struct
  50. {
  51.     int  item_pos;
  52.     Pixmap icon;
  53. } SgListIconStruct;
  54.  
  55. typedef struct
  56. {
  57.     int       item_pos;
  58.     Pixel     fg;
  59.     Pixel     bg;
  60.     XmFontList     fl;
  61. } SgListAttributeStruct;
  62.  
  63. #ifdef _NO_PROTO
  64. extern void SgListAddItem ();
  65. extern void SgListAddItems ();
  66. extern void SgListAddItemUnselected ();
  67. extern void SgListDeleteItem ();
  68. extern void SgListDeleteItems ();
  69. extern void SgListDeletePos ();
  70. extern void SgListDeleteItemsPos ();
  71. extern void SgListDeleteAllItems ();
  72. extern void SgListReplaceItems ();
  73. extern void SgListReplaceItemsPos ();
  74. extern void SgListSelectItem ();
  75. extern void SgListSelectPos ();
  76. extern void SgListDeselectItem ();
  77. extern void SgListDeselectPos ();
  78. extern void SgListDeselectAllItems ();
  79. extern void SgListSetPos ();
  80. extern void SgListSetBottomPos ();
  81. extern void SgListSetItem ();
  82. extern void SgListSetBottomItem ();
  83. extern void SgListSetAddMode ();
  84. extern Boolean SgListItemExists ();
  85. extern int SgListItemPos ();
  86. extern Boolean SgListGetMatchPos ();
  87. extern Boolean SgListGetSelectedPos ();
  88. extern void SgListSetHorizPos ();
  89. extern Widget SgCreateList ();
  90. extern Widget SgCreateScrolledList ();
  91. extern void SgListSetPositionIndent ();
  92. extern void SgListSetItemIndent ();
  93. extern void SgListSetPositionAttributes ();
  94. extern void SgListSetItemAttributes ();
  95. extern void SgListSetPositionIcons ();
  96. extern void SgListSetAttributes ();
  97. extern void SgListSetItemIcon ();
  98. extern void SgListSetPositionIcon ();
  99. extern void SgListSetFields();
  100. extern void SgListSetTable();
  101. #else /* _NO_PROTO */
  102.  
  103. extern void SgListAddItem (Widget w, XmString item, int pos);
  104. extern void SgListAddItems (Widget w, XmString *items, int item_count, int pos);
  105. extern void SgListAddItemUnselected (Widget w, XmString item, int pos);
  106. extern void SgListDeleteItem (Widget w, XmString item);
  107. extern void SgListDeleteItems (Widget w, XmString *items, int item_count);
  108. extern void SgListDeletePos (Widget w, int pos);
  109. extern void SgListDeleteItemsPos (Widget w, int item_count, int pos);
  110. extern void SgListDeleteAllItems (Widget w);
  111. extern void SgListReplaceItems (Widget w, XmString *old_items, int item_count, XmString *new_items);
  112. extern void SgListReplaceItemsPos (Widget w, XmString *new_items, int item_count, int position);
  113. extern void SgListSelectItem (Widget w, XmString item,  
  114. #if NeedWidePrototypes
  115. int notify
  116. #else
  117. Boolean notify
  118. #endif 
  119. );
  120. extern void SgListSelectPos (Widget w, int pos,  
  121. #if NeedWidePrototypes
  122. int notify
  123. #else
  124. Boolean notify
  125. #endif 
  126. );
  127. extern void SgListDeselectItem (Widget w, XmString item);
  128. extern void SgListDeselectPos (Widget w, int pos);
  129. extern void SgListDeselectAllItems (Widget w);
  130. extern void SgListSetPos (Widget w, int pos);
  131. extern void SgListSetBottomPos (Widget w, int pos);
  132. extern void SgListSetItem (Widget w, XmString item);
  133. extern void SgListSetBottomItem (Widget w, XmString item);
  134. extern void SgListSetAddMode (Widget w,    
  135. #if NeedWidePrototypes
  136. int add_mode
  137. #else
  138. Boolean add_mode
  139. #endif 
  140. );
  141. extern Boolean SgListItemExists (Widget w, XmString item);
  142. extern int SgListItemPos (Widget w, XmString item);
  143. extern Boolean SgListGetMatchPos (Widget w, XmString item, int **pos_list, int *pos_count);
  144. extern Boolean SgListGetSelectedPos (Widget w, int **pos_list, int *pos_count);
  145. extern void SgListSetHorizPos (Widget w, int position);
  146. extern Widget SgCreateList (Widget parent, char *name, ArgList args, Cardinal argCount);
  147. extern Widget SgCreateScrolledList (Widget parent, char *name, ArgList args, Cardinal argCount);
  148.  
  149. extern void SgListSetPositionIndent (Widget w, int item_pos, int indent);
  150. extern void SgListSetItemIndent (Widget w, XmString, int indent);
  151.  
  152. extern void SgListSetPositionAttributes (Widget w, int item_pos, XmFontList fl, Pixel fg, Pixel bg);
  153. extern void SgListSetItemAttributes (Widget w, XmString, XmFontList fl, Pixel fg, Pixel bg);
  154. extern void SgListSetPositionIcons (Widget w,   SgListIconStruct *icons, int numIcons);
  155. extern void SgListSetAttributes (Widget w, SgListAttributeStruct *attr, int size);
  156. extern void SgListSetItemIcon (Widget w, XmString item, Pixmap icon);
  157. extern void SgListSetPositionIcon (Widget w, int pos, Pixmap icon);
  158. extern void SgListSetFields(Widget w, int *fields, int numFields);
  159. extern void SgListSetTable(Widget w, String *table, int rows, int cols);
  160. #endif /* _NO_PROTO */
  161. /********    End Public Function Declarations    ********/
  162.  
  163. #define XmCR_ICON_ARMED          101
  164. #define XmCR_ICON_AREA_SELECTED  102
  165. #define XmCR_ICON_DISARMED       103
  166. #define XmCR_ICON_ACTIVATED      104
  167. #define XmCR_ICON_AREA_ACTIVATED 105
  168.  
  169. #define XmNfieldMargin "fieldMargin"
  170. #define XmNfieldChangedCallback "fieldChangedCallback"
  171.  
  172. typedef struct
  173. {
  174.    int          reason;
  175.    XEvent    *event;
  176.    XmString  item;
  177.    int       item_length;
  178.    int       item_position;
  179.    XmString  *selected_items;
  180.    int       selected_item_count;
  181.    int       *selected_item_positions;
  182.    char      selection_type;
  183.    int       selected_field;  /* Experimental */
  184. } SgListCallbackStruct;
  185.  
  186. #define XmCUpdate             "Update"
  187. #define XmNshowIcons          "showIcons"
  188. #define XmCShowIcons          "ShowIcons"
  189. #define XmNindentIcons        "indentIcons"
  190. #define XmCIndentIcons        "IndentIcons"
  191. #define XmNdefaultIconWidth   "defaultIconWidth"
  192. #define XmCDefaultIconWidth   "DefaultIconWidth"
  193.  
  194. #ifdef __cplusplus
  195. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  196. #endif
  197.  
  198. #endif 
  199.  
  200. /* DON'T ADD ANYTHING AFTER THIS #endif */
  201.